home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / g / gnu_c / pmlsrc23.zoo / README < prev   
Encoding:
Text File  |  1994-03-19  |  3.8 KB  |  95 lines

  1.  
  2. The original version of pml (Portable Math Library) was written several 
  3. years ago, when I was just learning C and trying to switch most of my work
  4. for engineering classes from Fortran to C.  I quickly ran into problems
  5. with portability, missing functions, compiler bugs, etc, etc, etc.
  6. Considering I was using some pretty primitive stuff at the time, it's a
  7. wonder anything worked!  Anyway, pml came about from pressures to get 
  8. something that would work in a number of environments and also as a learning
  9. tool as to how floating point libraries worked.  I don't claim to be a
  10. numerical analyst, then or now, but I did learn a lot writing this stuff
  11. (including how to write in C).
  12.  
  13. Several times I have started to go back and redo the library to use
  14. newer C features, make it compatible with the Unix version, etc.  For
  15. example, the original C compilers I had access to could not pass structures,
  16. just pointers to structures, which made for some pretty ugly code.  Changing
  17. the code to pass a 'complex' structure cleaned it up a lot.  Given
  18. several aborted attempts to redo the whole thing (aborted due to lack
  19. of motivation and/or time), it's now in somewhat of a mess, and probably
  20. inconsistent in several areas.  Still, someone might find it useful, or
  21. even be motivated enough to carry on with it, given this code as a base.
  22.  
  23. So, in the hopes that someone will 'adopt' pml, and make it their pet,
  24. I've decided to post my most current code, and relinquish all rights to
  25. it.  I.E., make it truly public domain, rather than simply freely
  26. redistributable.
  27.  
  28. Hints for adoptive parents:
  29.  
  30.     1.    Much of the documentation and internal comments
  31.         is now either wrong, misleading, or both.  Beware.
  32.  
  33.     2.    Most C functions use pieces from various iterations
  34.         of my macro based debugging package.  For example,
  35.         the LEAVE() macro hasn't been used directly in years...
  36.         You should either chuck this stuff wholesale, or
  37.         convert it to use my latest version (posted on the
  38.         net some months ago).
  39.  
  40.     3.    The implementation of functions like 'inverse complex
  41.         hyperbolic arccosine' may very well be numerically
  42.         naive.
  43.  
  44.     4.    This is your baby now, don't ask me how to change its
  45.         diapers.  I wouldn't mind getting pictures now and then
  46.         though.  :-) :-)
  47.  
  48. Below is the original README file, for reference.
  49.  
  50.                 Fred Fish
  51.                 10-Apr-87
  52.  
  53. ======================================================================
  54.  
  55. PML --- Portable Math Library for C programs.
  56.  
  57. This directory contains the PML math library distribution.
  58. Since it is intended to be a highly portable library, useful
  59. on a wide variety of machines, no installation command files
  60. are provided.  It is assumed that the installer is sufficiently
  61. knowledgeable to successfully install the library given the
  62. following general guidelines:
  63.  
  64. (1)    The constants in "pml.h" must be suitably defined for
  65.     the environment in which the library is to be used.
  66.  
  67. (2)    The appropriate environment #define variable is 
  68.     defined somewhere, either within the preprocessor
  69.     itself, in <stdio.h>, is added to "pml.h", or
  70.     is included on the compiler invocation command
  71.     line.
  72.  
  73.     For example, "#define PDP10" or "#define pdp11".
  74.  
  75. (3)    The file "pmluser.h" is moved to the global header
  76.     file directory, so that an "#include <pmluser.h>"
  77.     will be properly processed.
  78.  
  79. (4)    All of the library source files are compiled.
  80.  
  81. (5)    The furnished test routines are compiled, linked
  82.     with the library routines, and executed.
  83.  
  84. This library currently runs essentially unchanged on a wide
  85. variety of machines, under a wide variety of operating systems.
  86. Known installations include PDP-11s running RSX-11M and using
  87. the DECUS C system, DECSYSTEM-20 running TOPS-20 using an
  88. MIT C compiler, Callan Data Systems 68000 system running
  89. Uniplus (Unix port from Unisoft), and an IBM Personal
  90. Computer running PC-DOS using a CII C compiler.  If you
  91. know of any others, please let me know.
  92.  
  93.                 Fred Fish
  94.  
  95.